

from datetime import datetime
from typing import Optional
from sqlmodel import Field, SQLModel
from core.commons import OrderProcessedStatus,PayStatus

class OrderProcessedBase(SQLModel):
    司机结算里程: float = Field(default=0.0,title="司机结算里程")
    司机最终费用: float = Field(default=0.0,title="司机结算费用")
    调度价格: float = Field(default=0.0,title="调度价格:默认等于司机最终费用")
    复核价格: float = Field(default=0.0,title="复核价格")
    打卡工资: float = Field(default=0.0,title="打卡工资")
    平台结算里程: float = Field(default=0.0,title="平台结算里程")
    平台最终费用: float = Field(default=0.0,title="平台结算费用")
    订单状态: OrderProcessedStatus = Field(default=OrderProcessedStatus.调度未对账,title="订单状态")
    付款状态: PayStatus = Field(default=PayStatus.未付款,title="付款状态")
    create_at: datetime = Field(default=datetime.now(),title="创建时间")
    update_at: Optional[datetime] = Field(default=None,title="创建时间")

class OrderProcessed(OrderProcessedBase,table=True):
    __tablename__ = "order_processed"
    id: int = Field(default=None, primary_key=True,title="自增主键id")
    order_inital_id:Optional[int] = Field(default=None,foreign_key="order_initial.id",unique=True,title="订单id")
